<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>选择排序</title>
  </head>
  <body>
    <script>
      //         重复（元素个数-1）次

      // 把第一个没有排序过的元素设置为最小值

      // 遍历每个没有排序过的元素

      //   如果元素 < 现在的最小值

      //     将此元素设置成为新的最小值

      // 将最小值和第一个没有排序过的位置交换

      // 找后面的元素最小的值 的下标和已经排序好的元素的最后一个元素比较，然后进行互换位置

      function selectionSort(arr) {
        const len = arr.length;
        let minIndex, temp;

        for (let i = 0; i < len - 1; i++) {
          minIndex = i;
          for (let j = i ; j < len; j++) {
            if (arr[j] < arr[minIndex]) {
              minIndex = j;
            }
          }
          if(i != minIndex) {
            temp = arr[i];
            arr[i] = arr[minIndex];
            arr[minIndex] = temp;
            console.log(arr);
          }
         
          
        }
        return arr;
      }
      console.log("开始" + [3, 2, 5, 1, 4]);
      console.log("最终" + selectionSort([3, 2, 5, 1, 4]));
    </script>
  </body>
</html>
